Network function virtualization (NFV) is an industry effort to virtualize network equipment using generic-build hardware platforms, with the goals of cost reduction and efficient/agile network operation and performance. Conceptually speaking, NFV is the principle of separating network functions from the hardware they run on using virtual hardware abstraction, and seeks to virtualize entire classes of network node functions into building blocks that may be connected, or chained, together to create communication services.